Directional stamping

ABSTRACT

Systems, methods, and software are disclosed herein for supporting directional stamping. In an implementation, an input stroke is received on a canvas in a user interface to an application. The application identifies at least a directional effect with which to render each of a set of discontinuous objects along a continuous path taken by the input stroke on the canvas. The application then renders the set of discontinuous objects on the canvas along the continuous path with at least the directional effect identified for each discontinuous object.

TECHNICAL BACKGROUND

Digital inking has become a popular feature in many softwareapplications. In many instances, a canvas is provided in a userinterface to an application through which a user may supply inking inputby away of a stylus, mouse, or touch gestures. The inking capabilitiesprovide the user with an easy and natural way to interact with theapplication.

One particular feature of some applications allows a user to draw a pathand then add text that follows the curvature of the path. Such a featuremight be useful when adding a name to a road on a map, for example. In asimilar context, a user may wish to create directional content, such asa visual depiction of driving directions from a starting point to adestination using arrow symbols. Presently, users are relegated toinserting the individual symbols and manually positioning and orientingthem as desired.

Such manipulations may take the user out of a creative flow and may haveother drawbacks from a more technical perspective. For instance, a useris presently required to shift between an inking mode in one moment toan editing mode in another, in order to be able to drop visual objectsonto a canvas. The objects must then be tediously adjusted so that thedesired directional effect is achieved, all of which consumes finiteprocessing resources, to say nothing of the user's time and attention.

Overview

Technology is disclosed herein that allows end users to draw withdirectional effects in a digital inking environment. In animplementation, an input stroke is received on a canvas in a userinterface to an application. The application identifies at least adirectional effect with which to render each of a set of discontinuousobjects along a continuous path taken by the input stroke on the canvas.The application then renders the set of discontinuous objects on thecanvas along the continuous path with at least the directional effectidentified for each discontinuous object. Such a feature may sometimesbe referred to informally as directional stamping.

The foregoing Overview is provided to introduce a selection of conceptsin a simplified form that are further described below in the TechnicalDisclosure. It may be understood that this Overview is not intended toidentify key features or essential features of the claimed subjectmatter, nor is it intended to be used to limit the scope of the claimedsubject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with referenceto the following drawings. While several implementations are describedin connection with these drawings, the disclosure is not limited to theimplementations disclosed herein. On the contrary, the intent is tocover all alternatives, modifications, and equivalents.

FIGS. 1A-1B illustrate a computing system and related operationalscenarios in an implementation of directional stamps.

FIG. 2 illustrates a stamping process in an implementation.

FIGS. 3A-3B illustrate an operational architecture and a relatedoperational scenario in an implementation.

FIGS. 4A-4B illustrate an operational scenario in an implementation.

FIG. 5 illustrates an operational scenario in an implementation.

FIG. 6 illustrates an operational scenario in an implementation.

FIG. 7 illustrates an operational scenario in an implementation.

FIG. 8 illustrates an operational scenario in an implementation.

FIG. 9 illustrates a computing system suitable for implementing thesoftware technology disclosed herein, including any of the applications,architectures, elements, processes, and operational scenarios andsequences illustrated in the Figures and discussed below in theTechnical Disclosure.

TECHNICAL DISCLOSURE

Technology is disclosed herein that supports directional effects forstamping in a digital inking environment. In an implementation, a usermay supply an input stroke, such as by tracing a continuous path on acanvas using a stylus, mouse, touch gesture, or other suitable input. Asthe input stroke proceeds, a directional effect is identified at variouspoints along the path and a discontinuous set of objects is renderedwith the effect that was identified for each of the objects. The visualeffect is for the objects to be stamped out on the canvas in such a waythat they follow the path drawn by the user.

In a brief example, a user may trace a winding path, in response towhich a set of arrow-shaped stamps are displayed on the canvas withtheir orientation such that the arrows appear to follow the path. Moregenerally, one or more characteristics of the path may be identifiedwhile the input stroke proceeds and the directional effect determinedtherefrom. Examples of path characteristics that may be considered whendetermining a directional effect include, but are not limited to,direction, velocity, and pressure. Examples of directional effectsinclude orientation, spacing, and size of the objects.

A continuous path may be one that begins with an instrument-down actionon a canvas and touches the canvas continuously during an input strokeuntil an instrument-up action occurs. Even then, the path may beconsidered continuous if the input stroke is broken up merely by a briefinstrument-up period. For instance, an instrument-up action may occurfor less than a threshold period of time, followed by an instrument-downaction on the canvas at or nearby the point of the instrument-up action.Assuming the input stroke proceeds, then path traces by the multipleinput strokes may be considered continuous.

A discontinuous set of objects may be a group of objects that can eachbe individually selected, manipulated, or otherwise interacted with. Forexample, a path may be stamped out in arrow shapes, where each arrowshape is an individual image. In another example, a path may be stampedout in footprint shapes, where each footprint shape is an individualimage. Thus, the user may re-orient, resize, move, delete, or otherwisemodify any one of the objects in a discontinuous set after they havebeen laid down on a canvas.

A technical effect that may be appreciated from the present discussionis the increased ease with which a user may create stamps on a canvaswith directional effects. Rather than having to position objectsindividually so as to give the effect of following a particular path ordirection, the user may simply trace a path along the canvas. As thepath is traced, the set of discontinuous objects appear with a givendirectional effect related to the input stroke that traces the path. Insome implementations, the accuracy of the directional effects allows theuser to stay focused on a task. In addition, the automated nature of thefeature may conserve processing resources as few mistakes occur and lessmanipulation is needed with respect to the individual objects.

FIG. 1A and FIG. 1B illustrates computing system 101 and variousoperational scenarios in an implementation of directional effects fordigital stamping. Computing system 101 includes application 103, whichemploys a stamping process 200 in the context of producing views in auser interface 105. View 110 is representative a view that may beproduced by application 103 in user interface 105.

Computing system 101 is representative of any device capable of runningan application natively or in the context of a web browser, streaming anapplication, or executing an application in any other manner. Examplesof computing system 101 include, but are not limited to, personalcomputers, mobile phones, tablet computers, desktop computers, laptopcomputers, wearable computing devices, or any other form factor,including any combination or variations thereof. Computing system 101may include various hardware and software elements in a supportingarchitecture suitable for providing application 103. One suchrepresentative architecture is illustrated in FIG. 9 with respect tocomputing system 901.

Application 103 is representative of any software application orapplication component capable of supporting directional effects inaccordance with the processes described herein. Examples of application103 include, but are not limited to, presentation applications,diagramming applications, computer-aided design applications,productivity applications (e.g. word processors or spreadsheetapplications), and any other type of combination or variation thereof.Application 103 may be implemented as a natively installed and executedapplication, a web application hosted in the context of a browser, astreaming application, a mobile application, or any variation orcombination thereof.

View 110 is representative of a view that may be produced by apresentation application. View 110 includes a canvas 111 on which a usermay utilize a stylus to draw lines, shapes, or objects, or supplyhand-written words, for example. Stylus 116 is representative of oneinput instrument, although other instruments are possible, such as mousedevices and touch gestures, or any other suitable input device.

An end user may interact with application 103 to produce maps,directions, flow charts, diagrams, basic layout drawings, or any othertype of presentation on canvas 111. The user may draw free-form lines,write text, or otherwise create objects on canvas in furtherance of agiven presentation, slide show, document, diagram, or other suchcontent.

In an enhancement, application 103 provides the ability to supplydirectional effects with respect to digital inking input, which may beappreciated from the following discussion of operational scenario 100Aand operational scenario 100B.

In operational scenario 100A, application 103 renders a stamp menu 112,in view 110. Stamp menu 112 offers various stamp styles, represented byan arrow style 113, and a foot print style 114. The user may select oneof the styles, which becomes the style of the discontinuous set ofobjects produced as an input stroke traverses canvas 111.

Input stroke 117 is representative of an input stroke drawn by a userwith stylus 116. In this scenario, a selection 115 of arrow style 113has been made. Accordingly, as input stroke 117 travels from left toright, a discontinuous set of objects 118 in the arrow style aredisplayed on canvas 111. In addition, each object is automaticallyoriented such that the entire set gives the visual effect of followingthe path drawn by the user.

In operational scenario 100A, it is assumed for exemplary purposes thata selection 125 of foot print style 114 has been made. Accordingly, asinput stroke 127 travels from left to right, a discontinuous set ofobjects 128 in the foot print style are displayed on canvas 111. Inaddition, each object is automatically oriented such that the entire setgives the visual effect of following the path drawn by the user.

FIG. 2 illustrates stamping process 200 which, as mentioned, may beemployed by application 103 to render a set of discontinuous objectsthat follow a path taken by an input stroke on a canvas. Some or all ofthe steps of stamping process 200 may be implemented in programinstructions in the context of a component or components of theapplication used to carry out the directional effects feature. Theprogram instructions direct application 103 to operate as follows,referring parenthetically to the steps in FIG. 2.

In operation, application 103 receives an input stroke that traces apath on the canvas (step 201). The input stroke may be drawn with astylus device, a mouse, a touch gesture, or the like. In general, no inkis laid down or otherwise displayed on the canvas. Rather, adiscontinuous set of objects are rendered on the canvas along the pathand with a specific directional effect for each.

In particular, application 103 identifies potential drop points as theinput stroke proceeds along the canvas (step 203). The drop points maybe identified at various time intervals, distance internals, or someother measurable interval. The drop points may generally representpoints along the path where one or more objects of the set ofdiscontinuous objects may be rendered.

One or more characteristics of the path are identified by application103 at each of the drop points that were identified along the path (step205). Characteristics of the path may include, for example, thedirection of the path, the velocity at which the path is being drawn,any acceleration or deceleration of the input, or a pressure of theinput.

Next, application 103 identifies a directional effect with which torender an object at each of the drop points on the path (step 207). Thedirectional effect is identified based on one or more of the pathcharacteristics discussed above. Examples of directional effectsinclude, but are not limited to, the orientation, size, or color of anobject.

Having identified one or more directional effects at a given drop point,application 103 renders an object at the drop point with the directionaleffects(s) (step 209). For example, an object may be rendered with aparticular orientation, size, or color. In the aggregate, a set ofobjects each formatted with particular directional effects gives thevisual effect of the objects following the path, without the user havingto place the objects individually and manipulate them manually.

FIG. 3A and FIG. 3B both illustrate an operational architecture that maybe present in some implementations of directional effects for digitalinking. FIG. 3A and FIG. 3B also illustrate operational scenario 300Aand operational scenario 300B respectively, to demonstrate variousaspects of the architecture.

The operational architecture includes a surface layer 301, an operatingsystem layer 303, and an application layer 305. Surface layer 301 isrepresentative of any hardware or software elements that function toreceive drawing input from an input instrument. Stylus 306 isrepresentative of one such instrument. Surface layer 301 also displaysobjects.

Operating system layer 303 is representative of the various softwareelements that receive input information from surface layer 301 inrelation to the drawing input supplied by stylus 306. Operating systemlayer 303 may also handle some aspects of object rendering.

Application layer 305 is representative of a collection of softwareelements that receive input information from operating system layer 303.Application layer 305 may also provide output information to operatingsystem layer 303.

In operational scenario 300A, application layer 305 employs stampingprocess 200 illustrated with respect to FIG. 2. To begin, an inputstroke is supplied by stylus 306 and is received by surface layer 301.The input stroke is communicated in some format to operating systemlayer 303. Operating system layer 303 informs application layer 305about the input stroke in terms of ink points, timestamps, and possiblyother path data.

Application layer 305, employing stamping process 200 or a similarprocess, identifies directional effects to apply to objects laid downalong a path traced by the stylus input. Application layer 305 assemblesthe discontinuous set of objects with the directional effects andprovides them to operating system layer 303. Operating system layer 303interfaces with surface layer 301 to display the objects and theirvisual effects.

In operational scenario 300B, stamping process 200 is employed byoperating system layer 303. An input stroke is supplied by stylus 306and is again received by surface layer 301. Operating system layer 303identifies the directional effects to associated with a given drop pointand informs application layer 305 of the ink points and directionaleffects.

Application layer 305 receives the ink points and effects informationand responsively selects the set of discontinuous objects to render onthe canvas. The objects are formatted in accordance with the directionaleffects and provided to operating system layer 303. Operating systemlayer 303 then communicates with surface layer 301 so that the objectsmay be rendered with their respective directional effects.

FIGS. 4A-4B illustrate a brief example of directional effects. Inoperation, a user supplies three different input strokes on canvas 400,represented by input stroke 401, input stroke 403, and input stroke 405.

The dashed lines of the input strokes represent the velocity of eachstroke, although other characteristics may be possible. Each stroke isprocessed as it travels across canvas 400 and a discontinuous set ofobjects is laid down in its place.

For example, input stroke 401 results in a set of objects 411, inputstroke 403 results in another set of objects 413, and input stroke 405results in another set of objects 415. It may be appreciated that thatthe snowflakes associated with input stroke 401 are the same size asthose associated with input stroke 405. This is because the velocity ofinput stroke 401 is the same as or similar to input stroke 405.

In contrast, the snowflakes associated with input stroke 403 are smallerthan the others. This is because the velocity of input stroke 403differs relative to that of input stroke 401 and input stroke 405. Inputstroke 403 may represent a relatively fast input stroke, for example,which may translate into smaller objects. In other words, the speed ofan input stroke may govern the size of each object in a set ofdiscontinuous objects.

FIG. 5 illustrates a variation of directional effects that may bereferred to as special-case stamps. In FIG. 5, an input stroke (notshown) was traced on canvas 500. The input stroke results in a set ofstamps 501. Each stamp is a double-lined dash. Not only is adouble-lined dash used for each stamp, but a given stamp may beprogrammatically changed based on a characteristic of the input strokeat a given drop point.

As an example, stamp 503 was changed to bend a right-angle and also toinclude overlapping lines in the bottom left corner. In a similar way,stamp 505 also bends at a right angle as it turns a corner. However,stamp 505 lacks overlapping lines. Both stamps represent how a patternmay be changed dynamically.

In FIG. 6, an example is provided where end points and stop points alonga path created by an input stroke trigger various directional effects.In FIG. 6, an input path has been traced on canvas 600. The input strokeresulted in a line 601 being drawn on canvas 600, but also adiscontinuous set of pin points 611, 613, 615, and 617.

The pin points correspond to start points, end points, and points inbetween on line 601 where the use slowed down or paused the drawingmotion. Velocity was used as an input characteristic and a pin pointstamp was laid down on canvas 600 where the velocity of the input strokewas zero or near-zero.

In FIG. 7, a digital stencil 701 has been placed on canvas 700, againstwhich a user may draw lines, shapes, or the like. Utilizing thedirectional effects feature described herein, the user may draw an inputstroke 702 against the curved edge of stencil 701. A set of stamps 703are rendered on canvas 700 as the input stroke proceeds. However, ratherthan being oriented to follow the direction of the input stroke, eachstamp is oriented to point outward from the center of the digitalstencil 701.

This may occur by, for example, analyzing the direction of input stroke702 at various drop points. Each object is oriented perpendicular to thedirection of input stroke 702 at a given drop point. In some examples,the tangent of input stroke 702 may be calculated and used as the basisfor a directional effect. Each arrow shape may be oriented perpendicularto the tangent at a given drop point, for instance.

In general, it may be understood that the orientation of any givenobject need not be the same as the direction of an input stroke at agiven point. Rather, the direction of the input stroke serves as a basisfor determining an object's orientation. In some instances, theorientation may be the same as the direction. However, in otherinstances—such as the example immediately above—the orientation may beperpendicular to the direction. In still other scenarios, theorientation may be at a different angle relative to the direction.

In FIG. 8, the set of stamps 803 are all oriented inward, toward ananchor 801. In this implementation, a user may place the anchor 801anywhere on canvas 800 and then provide an input stroke 802 somewhereelse on the canvas 800. The resulting set of stamps will be oriented topoint towards the anchor 801.

In this example, the input stroke 802 is a circle drawn around theanchor 801. Accordingly, the arrow shapes are orientated inward towardsthe anchor 801. The user may optionally move the anchor 801 to adifferent location on the canvas 800. Moving the anchor 801 may triggera re-orientation of the set of stamps 803. Each of the arrow shapes isre-oriented to point towards the new location of the anchor 801.

FIG. 9 illustrates computing system 901, which is representative of anysystem or collection of systems in which the various applications,architectures, services, scenarios, and processes disclosed herein maybe implemented. Examples of computing system 901 include, but are notlimited to, desktop computers, laptop computers, tablet computers,computers having hybrid form-factors, mobile phones, smart televisions,wearable devices, server computers, blade servers, rack servers, and anyother type of computing system (or collection thereof) suitable forcarrying out the directional effects operations described herein. Suchsystems may employ one or more virtual machines, containers, or anyother type of virtual computing resource in the context of directionaleffects and digital inking.

Computing system 901 may be implemented as a single apparatus, system,or device or may be implemented in a distributed manner as multipleapparatuses, systems, or devices. Computing system 901 includes, but isnot limited to, processing system 902, storage system 903, software 905,communication interface system 907, and user interface system 909.Processing system 902 is operatively coupled with storage system 903,communication interface system 907, and user interface system 909.

Processing system 902 loads and executes software 905 from storagesystem 903. Software 905 includes application 906 which isrepresentative of the software applications discussed with respect tothe preceding FIGS. 1-8, including application 103. When executed byprocessing system 902 to support directional effects in a userinterface, application 906 directs processing system 902 to operate asdescribed herein for at least the various processes, operationalscenarios, and sequences discussed in the foregoing implementations.Computing system 901 may optionally include additional devices,features, or functionality not discussed for purposes of brevity.

Referring still to FIG. 9, processing system 902 may comprise amicro-processor and other circuitry that retrieves and executes software905 from storage system 903. Processing system 902 may be implementedwithin a single processing device, but may also be distributed acrossmultiple processing devices or sub-systems that cooperate in executingprogram instructions. Examples of processing system 902 include generalpurpose central processing units, application specific processors, andlogic devices, as well as any other type of processing device,combinations, or variations thereof.

Storage system 903 may comprise any computer readable storage mediareadable by processing system 902 and capable of storing software 905.Storage system 903 may include volatile and nonvolatile, removable andnon-removable media implemented in any method or technology for storageof information, such as computer readable instructions, data structures,program modules, or other data. Examples of storage media include randomaccess memory, read only memory, magnetic disks, optical disks, flashmemory, virtual memory and non-virtual memory, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other suitable storage media. In no case is the computer readablestorage media a propagated signal.

In addition to computer readable storage media, in some implementationsstorage system 903 may also include computer readable communicationmedia over which at least some of software 905 may be communicatedinternally or externally. Storage system 903 may be implemented as asingle storage device, but may also be implemented across multiplestorage devices or sub-systems co-located or distributed relative toeach other. Storage system 903 may comprise additional elements, such asa controller, capable of communicating with processing system 902 orpossibly other systems.

Software 905 in general, and application 906 in particular, may beimplemented in program instructions and among other functions may, whenexecuted by processing system 902, direct processing system 902 tooperate as described with respect to the various operational scenarios,sequences, and processes illustrated herein. For example, application906 may include program instructions for implementing a directionaleffects process, such as stamping process 200.

In particular, the program instructions may include various componentsor modules that cooperate or otherwise interact to carry out the variousprocesses and operational scenarios described herein. The variouscomponents or modules may be embodied in compiled or interpretedinstructions, or in some other variation or combination of instructions.The various components or modules may be executed in a synchronous orasynchronous manner, serially or in parallel, in a single threadedenvironment or multi-threaded, or in accordance with any other suitableexecution paradigm, variation, or combination thereof. Software 905 mayinclude additional processes, programs, or components, such as operatingsystem software, virtual machine software, or other applicationsoftware, in addition to or that include application 906. Software 905may also comprise firmware or some other form of machine-readableprocessing instructions executable by processing system 902.

In general, application 906 may, when loaded into processing system 902and executed, transform a suitable apparatus, system, or device (ofwhich computing system 901 is representative) overall from ageneral-purpose computing system into a special-purpose computing systemcustomized to perform directional effects operations. Indeed, encodingapplication 906 on storage system 903 may transform the physicalstructure of storage system 903. The specific transformation of thephysical structure may depend on various factors in differentimplementations of this description. Examples of such factors mayinclude, but are not limited to, the technology used to implement thestorage media of storage system 903 and whether the computer-storagemedia are characterized as primary or secondary storage, as well asother factors.

For example, if the computer readable storage media are implemented assemiconductor-based memory, application 906 may transform the physicalstate of the semiconductor memory when the program instructions areencoded therein, such as by transforming the state of transistors,capacitors, or other discrete circuit elements constituting thesemiconductor memory. A similar transformation may occur with respect tomagnetic or optical media. Other transformations of physical media arepossible without departing from the scope of the present description,with the foregoing examples provided only to facilitate the presentdiscussion.

Communication interface system 907 may include communication connectionsand devices that allow for communication with other computing systems(not shown) over communication networks (not shown). Examples ofconnections and devices that together allow for inter-systemcommunication may include network interface cards, antennas, poweramplifiers, RF circuitry, transceivers, and other communicationcircuitry. The connections and devices may communicate overcommunication media to exchange communications with other computingsystems or networks of systems, such as metal, glass, air, or any othersuitable communication media. The aforementioned media, connections, anddevices are well known and need not be discussed at length here.

User interface system 909 may include a keyboard, a stylus (digitalpen), a mouse, a voice input device, a touch input device for receivinga touch gesture from a user, a motion input device for detectingnon-touch gestures and other motions by a user, and other comparableinput devices and associated processing elements capable of receivinguser input from a user. Output devices such as a display, speakers,haptic devices, and other types of output devices may also be includedin user interface system 909. In some cases, the input and outputdevices may be combined in a single device, such as a display capable ofdisplaying images and receiving touch gestures. The aforementioned userinput and output devices are well known in the art and need not bediscussed at length here.

User interface system 909 may also include associated user interfacesoftware executable by processing system 902 in support of the varioususer input and output devices discussed above. Separately or inconjunction with each other and other hardware and software elements,the user interface software and user interface devices may support agraphical user interface, a natural user interface, or any other type ofuser interface, in which a user interface to an application may bepresented (e.g. user interface 105).

Communication between computing system 901 and other computing systems(not shown), may occur over a communication network or networks and inaccordance with various communication protocols, combinations ofprotocols, or variations thereof. Examples include intranets, internets,the Internet, local area networks, wide area networks, wirelessnetworks, wired networks, virtual networks, software defined networks,data center buses, computing backplanes, or any other type of network,combination of network, or variation thereof. The aforementionedcommunication networks and protocols are well known and need not bediscussed at length here.

The functional block diagrams, operational scenarios and sequences, andflow diagrams provided in the Figures are representative of exemplarysystems, environments, and methodologies for performing novel aspects ofthe disclosure. While, for purposes of simplicity of explanation,methods included herein may be in the form of a functional diagram,operational scenario or sequence, or flow diagram, and may be describedas a series of acts, it is to be understood and appreciated that themethods are not limited by the order of acts, as some acts may, inaccordance therewith, occur in a different order and/or concurrentlywith other acts from that shown and described herein. For example, thoseskilled in the art will understand and appreciate that a method couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, not all acts illustratedin a methodology may be required for a novel implementation.

The descriptions and figures included herein depict specificimplementations to teach those skilled in the art how to make and usethe best option. For the purpose of teaching inventive principles, someconventional aspects have been simplified or omitted. Those skilled inthe art will appreciate variations from these implementations that fallwithin the scope of the invention. Those skilled in the art will alsoappreciate that the features described above can be combined in variousways to form multiple implementations. As a result, the invention is notlimited to the specific implementations described above, but only by theclaims and their equivalents.

The invention claimed is:
 1. A computing apparatus comprising: one ormore computer readable storage devices; a processing system operativelycoupled with the one or more computer readable storage devices; andprogram instructions stored on the one or more computer readable storagedevices that, when executed by the processing system, direct theprocessing system to at least: receive an input stroke on a canvas in auser interface to an application; identify at least a directional effectwith which to render each of a set of discontinuous objects along acontinuous path taken by the input stroke on the canvas; and render theset of discontinuous objects on the canvas along the continuous pathwith at least the directional effect identified for each discontinuousobject; wherein each object of the set of discontinuous objectscomprises an individually selectable and manipulatable object.
 2. Thecomputing apparatus of claim 1 wherein to identify the directionaleffect, the program instructions direct the processing system toidentify the directional effect with which to render each of the set ofdiscontinuous objects based on at least one of a plurality ofcharacteristics of the input stroke.
 3. The computing apparatus of claim2 wherein to identify the directional effect, the program instructionsdirect the processing system to identify a plurality of directionaleffects with which to render each of the set of discontinuous objects.4. The computing apparatus of claim 3 wherein the plurality ofcharacteristics of the input stroke comprises direction and velocity. 5.The computing apparatus of claim 4 wherein the plurality of directionaleffects with which to render each of the set of discontinuous objectscomprises orientation and size.
 6. The computing apparatus of claim 5wherein the plurality of characteristics of the input stroke furthercomprises a proximity of the input stroke to a stencil.
 7. The computingapparatus of claim 1 wherein each object of the set of discontinuousobjects is an individual image.
 8. The computing apparatus of claim 1wherein a stylus operated by a user supplies the input stroke andwherein no line is rendered during the input stroke.
 9. A method ofoperating an application in support of directional effects for objectsin a digital inking environment, the method comprising: receiving aninput stroke on a canvas in a user interface to an application;identifying at least a directional effect with which to render each of aset of discontinuous objects along a continuous path taken by the inputstroke on the canvas; and rendering the set of discontinuous objects onthe canvas along the continuous path with at least the directionaleffect identified for each discontinuous object; wherein each object ofthe set of discontinuous objects comprises an individually selectableand manipulatable object.
 10. The method of claim 9 wherein identifyingthe directional effect comprises identifying the directional effect withwhich to render each of the set of discontinuous objects based on atleast one of a plurality of characteristics of the input stroke.
 11. Themethod of claim 10 wherein identifying the directional effect comprisesidentifying a plurality of directional effects with which to render eachof the set of discontinuous objects.
 12. The method of claim 11 whereinthe plurality of characteristics of the input stroke comprises directionand velocity.
 13. The method of claim 12 wherein the plurality ofdirectional effects with which to render each of the set ofdiscontinuous objects comprises orientation and size.
 14. The method ofclaim 13 wherein the plurality of characteristics of the input strokefurther comprises a proximity of the input stroke to a stencil.
 15. Themethod of claim 9 wherein each object of the set of discontinuousobjects is an individual image.
 16. The method of claim 9 wherein astylus operated by a user supplies the input stroke and wherein no lineis rendered during the input stroke.
 17. One or more computer readablestorage devices having program instructions stored thereon forsupporting directional effects in a digital inking environment that,when executed by the processing system, direct the processing system toat least: receive an input stroke on a canvas in a user interface to anapplication; identify at least a directional effect with which to rendereach of a set of discontinuous objects along a continuous path taken bythe input stroke on the canvas; and render the set of discontinuousobjects on the canvas along the continuous path with at least thedirectional effect identified for each discontinuous object; whereineach object of the set of discontinuous objects comprises anindividually selectable and manipulatable object.
 18. The one or morecomputer readable storage devices of claim 17 wherein to identify thedirectional effect, the program instructions direct the processingsystem to at least identify the directional effect with which to rendereach of the set of discontinuous objects based on at least one of aplurality of characteristics of the input stroke, wherein the pluralityof characteristics of the input stroke comprises direction and velocityand wherein the directional effect with which to render each of the setof discontinuous objects comprises at least one of orientation and size.19. The one or more computer readable storage devices of claim 17wherein each object of the set of discontinuous objects is an individualimage.
 20. The one or more computer readable storage devices of claim 17wherein a stylus operated by a user supplies the input stroke andwherein no line is rendered during the input stroke.